home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / misc / ImageFXDevKit.lha / sdev / include / scan / scan_protos.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-22  |  15.0 KB  |  329 lines

  1. /*
  2.  * Scan 'C' Header File
  3.  * Written by Thomas Krehbiel
  4.  *
  5.  * ScanBase prototypes.
  6.  *
  7.  */
  8.  
  9. #ifndef SCAN_PROTOS_H
  10.  
  11. #ifndef EXEC_TYPES_H
  12. #include <exec/types.h>
  13. #endif
  14. #ifndef SCAN_DRAW_H
  15. #include <scan/draw.h>
  16. #endif
  17. #ifndef SCAN_WEDGE_H
  18. #include <scan/wedge.h>          /* for WedgeProto */
  19. #endif
  20.  
  21. #ifndef REGARGS
  22.  
  23. #define __STD(A,F)    A F
  24. #define __REG(A,F)    A F
  25.  
  26. #define __D0
  27. #define __D1
  28. #define __D2
  29. #define __D3
  30. #define __D4
  31. #define __D5
  32. #define __D6
  33. #define __D7
  34. #define __A0
  35. #define __A1
  36. #define __A2
  37. #define __A3
  38. #define __A4
  39. #define __A5
  40. #define __A6
  41.  
  42. #else
  43.  
  44. #ifdef LATTICE
  45.  #define __STD(A,F)    A F
  46.  #define __REG(A,F)    A __asm F
  47. #endif
  48.  
  49. #ifdef _DCC
  50.  #define __STD(A,F)    A F
  51.  #define __REG(A,F)    __regargs A F
  52. #endif
  53.  
  54. #define __D0            register __d0
  55. #define __D1            register __d1
  56. #define __D2            register __d2
  57. #define __D3            register __d3
  58. #define __D4            register __d4
  59. #define __D5            register __d5
  60. #define __D6            register __d6
  61. #define __D7            register __d7
  62. #define __A0            register __a0
  63. #define __A1            register __a1
  64. #define __A2            register __a2
  65. #define __A3            register __a3
  66. #define __A4            register __a4
  67. #define __A5            register __a5
  68. #define __A6            register __a6
  69.  
  70. #endif
  71.  
  72. /*
  73.  * Scan.library functions:
  74.  */
  75.  
  76. __REG(void,             HidePanel) (void);
  77. __REG(void,             ShowPanel) (void);
  78. __REG(void,             ArrangePanel) (void);
  79. __REG(void,             ShowStatus) (__A0 struct Buffer *buf);
  80.  
  81. __REG(void,             BeginBar) (__A0 char *, __D0 int, __D1 BOOL);
  82. __REG(void,             EndBar) (__A0 char *);
  83. __REG(int,              Bar) (__D0 int);
  84.  
  85. __REG(void,             Error) (void);
  86. __REG(void,             VErrorf) (__A0 char *, __A1 ULONG *);
  87. __REG(void,             TogglePanel) (void);
  88.  
  89. __REG(int,              SerOpen) (__A0 char *, __D0 int, __D1 long, __D2 BOOL);
  90. __REG(void,             SerClose) (void);
  91. __REG(void,             SerBaud) (__D0 long);
  92. __REG(void,             SerRead) (__A0 UBYTE *, __D0 int);
  93. __REG(int,              TimedSerRead) (__A0 UBYTE *, __D0 int, __D1 int);
  94. __REG(void,             SerPutc) (__D0 UBYTE);
  95. __REG(void,             SerWrite) (__A0 UBYTE *, __D0 int);
  96. __REG(void,             SerFlush) (void);
  97. __REG(void,             SerDisable) (void);
  98. __REG(void,             SerEnable) (void);
  99. __REG(int,              SerDirect) (void);
  100.  
  101. __REG(void,             Ged_Set) (__A0 struct Window *, __D0 short, __D1 long);
  102. __REG(long,             Ged_Get) (__A0 struct Window *, __D0 short);
  103. __REG(void,             Ged_Activate) (__A0 struct Window *, __D0 short);
  104. __REG(void,             Ged_Enable) (__A0 struct Window *, __D0 short, __D1 short);
  105.  
  106. __REG(struct BitMap *,  AllocChipBitMap) (__D0 int w, __D1 int h, __D2 int d);
  107. __REG(struct BitMap *,  AllocFastBitMap) (__D0 int w, __D1 int h, __D2 int d);
  108. __REG(void,             DeleteBitMap) (__A0 struct BitMap *bm);
  109. __REG(void,             ClearBitMap) (__A0 struct BitMap *bm);
  110. __REG(int,              CopyBitMap) (__A0 struct BitMap *src, __A1 struct BitMap *dst);
  111.  
  112. __REG(void,             SetError) (__D0 int code);
  113. __REG(int,              GetError) (void);
  114.  
  115. __REG(void *,           DAlloc) (__D0 ULONG, __D1 ULONG, __A0 char *, __A1 char *, __D2 LONG);
  116. __REG(void,             DFree) (__A1 void *, __D0 ULONG, __A0 char *, __A2 char *, __D1 LONG);
  117.  
  118. __REG(int,              IsBuffer) (void);
  119. __REG(void,             FreeBuffer) (void);
  120. __REG(int,              InitBuffer) (__A0 char *, __D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG, __D4 ULONG);
  121. __REG(struct Buffer *,  ObtainBuffer) (__D0 int);
  122. __REG(void,             ReleaseBuffer) (__A0 struct Buffer *);
  123. __REG(int,              GetBufLine) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 LONG);
  124. __REG(int,              PutBufLine) (__A0 struct Buffer *);
  125. __REG(int,              PutNewBufLine) (__A0 struct Buffer *, __A1 UBYTE *, __A2 UBYTE *, __A3 UBYTE *, __D0 LONG);
  126. __REG(int,              PutNewBufLine1) (__A0 struct Buffer *, __A1 UBYTE *, __D0 LONG, __D1 LONG);
  127. __REG(int,              GetBufVLine) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 LONG);
  128. __REG(int,              PutBufVLine) (__A0 struct Buffer *);
  129. __REG(int,              PutNewBufVLine) (__A0 struct Buffer *, __A1 UBYTE *, __A2 UBYTE *, __A3 UBYTE *, __D0 LONG);
  130. __REG(int,              PutNewBufVLine1) (__A0 struct Buffer *, __A1 UBYTE *, __D0 LONG, __D1 LONG);
  131.  
  132. __REG(void,             RenderVirtual) (void);
  133. __REG(void,             RenderPartVirtual) (__D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
  134. __REG(void,             VirtualTranslate) (__A0 short *, __A1 short *);
  135. __REG(void,             GetVCoords) (__A0 struct IntuiMessage *, __A1 short *, __A2 short *);
  136. __REG(void,             VirtRow24) (__A0 UBYTE *, __A1 UBYTE *, __A2 UBYTE *, __D0 LONG, __D1 LONG);
  137. __REG(void,             ColorVirtual) (__D0 LONG);
  138. __REG(void,             ClearVirtual) (void);
  139. __REG(void,             VirtRow8) (__A0 UBYTE *, __D0 LONG, __D1 LONG, __D2 LONG);
  140. __REG(void,             VirtCol8) (__A0 UBYTE *, __D0 LONG, __D1 LONG, __D2 LONG);
  141. __REG(void,             VirtualTempClose) (void);
  142. __REG(void,             VirtualTempOpen) (void);
  143.  
  144. __REG(void,             RequestNewRender) (void);
  145.  
  146. __REG(BOOL,             DoQuantize) (__D0 short, __D1 short, __A0 struct Buffer *, __A1 struct Mask *, __A2 UBYTE *, __D2 short);
  147.  
  148. __REG(struct Buffer *,  AllocBuffer) (__A0 char *, __D0 short, __D1 short, __D2 short, __D3 short, __D4 short);
  149. __REG(int,              ReplaceBuffer) (__A0 struct Buffer *, __A1 struct Buffer *);
  150. __REG(void,             KillBuffer) (__A0 struct Buffer *);
  151.  
  152. __REG(BOOL,             ProcessRegion) (__A0 char *, __A1 struct Buffer *, __A2 struct Mask *, __A3 void (*)(UBYTE *, UBYTE *, UBYTE *), __A4 void (*)(UBYTE *));
  153. __REG(BOOL,             ProcessPlane) (__A0 char *, __A1 struct Buffer *, __A2 struct Mask *, __D0 short, __A3 void (*)(UBYTE *));
  154. __REG(BOOL,             SaveUndo) (__A0 struct Buffer *, __D0 short, __D1 short, __D2 short, __D3 short);
  155. __REG(BOOL,             RestoreUndo) (__D0 BOOL);
  156.  
  157. __REG(BOOL,             InitHook) (void);
  158. __REG(void,             CleanupHook) (void);
  159. __REG(BOOL,             EasyProcess) (__A0 char *, __A1 void (*)(UBYTE *, UBYTE *, UBYTE *, short, short), __A2 void (*)(UBYTE *, short, short));
  160.  
  161. __REG(void,             PreOverscan) (__A0 struct NewScreen *);
  162. __REG(void,             PostOverscan) (__A0 struct Screen *);
  163.  
  164. __REG(BOOL,             VBoolRequest) (__A0 char *, __A1 ULONG *);
  165. __REG(char *,           StringRequest) (__A0 char *, __A1 char *);
  166. __REG(long,             IntegerRequest) (__A0 char *, __D0 long, __D1 long, __D2 long);
  167.  
  168. __REG(BOOL,             SetCurrentPalette) (__A0 UBYTE *pal, __D0 int count);
  169. __REG(BOOL,             GetPaletteStruct) (__A0 struct Palette *pal);
  170. __REG(BOOL,             IsRangeLocked) (__D0 short range);
  171. __REG(BOOL,             IsRegisterLocked) (__D0 short reg);
  172. __REG(void,             ModifyPalette) (__D0 short reg, __D1 short r, __D2 short g, __D3 short b);
  173. __REG(short,            UnlockedColors) (__D0 short);
  174. __REG(void,             RefreshPalette) (void);
  175.  
  176. __REG(struct Screen *,  OpenRenderScreen) (__A0 struct NewScreen *, __D0 ULONG, __D1 ULONG);
  177. __REG(void,             CloseRenderScreen) (__A0 struct Screen *);
  178. __REG(void,             DrawRenderArea) (void);
  179.  
  180. __REG(void,             SetModGad) (__A0 struct ModuleBase *, __D0 int, __D1 long);
  181. __REG(short,            Ged_Create) (__A0 struct GedContext *, __A1 struct NewGad *, __A2 char **);
  182. __REG(void,             Ged_Delete) (__A0 struct GedContext *);
  183. __REG(void,             Ged_Add) (__A0 struct GedContext *, __A1 struct Window *);
  184. __REG(void,             Ged_Remove) (__A0 struct GedContext *, __A1 struct Window *);
  185. __REG(int,              ScanWindow) (__A0 struct NewWindow *, __A1 struct NewGad *, __D0 int, __A2 int (*)(struct Window *, struct NewGad *), __A3 int (*)(struct Window *, struct Gadget *), __A4 char **);
  186. __REG(struct IntuiMessage *, Ged_GetIMsg) (__A0 struct Window *, __A1 short *);
  187.  
  188. __REG(void,             VInfoRequest) (__A0 char *, __A1 ULONG *);
  189.  
  190. __REG(BOOL,             CheckMask) (__A0 struct Mask *, __D0 short, __D1 short);
  191.  
  192. __REG(void,             RollScreenUp) (__D0 int);
  193. __REG(void,             RollScreenDown) (void);
  194.  
  195. __REG(void,             InstallCustomMask) (__A0 struct Mask *);
  196. __REG(void,             FreeMask) (__A0 struct Mask *);
  197. __REG(struct Mask *,    BuildRectMask) (__D0 short, __D1 short, __D2 short, __D3 short);
  198. __REG(struct Mask *,    BuildOvalMask) (__D0 short, __D1 short, __D2 short, __D3 short, __D4 BOOL);
  199. __REG(struct Mask *,    BuildPolyMask) (__A0 POINT *);
  200. __REG(struct Mask *,    BuildFloodMask) (__A0 struct Buffer *, __D0 short, __D1 short, __D2 short);
  201. __REG(void,             SetRegionTool) (__D0 short);
  202.  
  203. __REG(BOOL,             SaveBuffer) (__A0 char *, __A1 char *, __A2 char *);
  204. __REG(BOOL,             LoadBuffer) (__A0 char *, __A1 char *, __D0 int);
  205.  
  206. __REG(int,              ParseCommand) (__A0 char *, __A1 struct RexxMsg *);
  207. __REG(BOOL,             RenderPalette) (__A0 struct Buffer *, __A1 struct Mask *, __D0 int, __A2 UBYTE *, __D1 int);
  208.  
  209. __REG(void,             RedrawFull) (void);
  210. __REG(void,             RedrawArea) (__D0 int, __D1 int, __D2 int, __D3 int);
  211.  
  212. __REG(int,              ListRequester) (__A0 char *, __A1 struct ListView *, __D0 int);
  213.  
  214. __REG(int,              VThreeRequest) (__A0 char *, __A1 char *, __A2 char *, __A3 char *, __A4 ULONG *);
  215.  
  216. __REG(BOOL,             UnlockResource) (__D0 ULONG);
  217. __REG(void,             RelockResource) (__D0 ULONG);
  218. __REG(char *,           NewGetFile) (__A0 struct FileInfo *, __A1 char *, __D0 ULONG);
  219. __REG(BOOL,             TakeOver) (__D0 BOOL);
  220. __REG(struct Buffer *,  ReadBuffer) (__A0 char *, __A1 char *);
  221. __REG(BOOL,             SaveBrush) (__A0 struct Buffer *, __A1 char *, __A2 char *, __A3 char *);
  222.  
  223. __REG(BOOL,             SaveMapped) (__A0 char *, __A1 char *, __A2 struct MappedImage *, __A3 char *);
  224.  
  225. __REG(struct BIO *,     BOpen) (__A0 char *, __D0 ULONG, __D1 ULONG);
  226. __REG(void,             BClose) (__A0 struct BIO *);
  227. __REG(BOOL,             BPutc) (__A0 struct BIO *, __D0 UBYTE);
  228. __REG(BOOL,             BPuts) (__A0 struct BIO *, __A1 UBYTE *);
  229. __REG(int,              BGetc) (__A0 struct BIO *);
  230. __REG(int,              BGets) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
  231. __REG(int,              BWrite) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
  232. __REG(int,              BRead) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
  233.  
  234. __REG(void,             CloseWindowSafely) (__A0 struct Window *);
  235.  
  236. __REG(void,             RequestNewScanner) (void);
  237. __REG(void,             RequestNewPrinter) (void);
  238.  
  239. __REG(BOOL,             VSetResult) (__A0 struct RexxMsg *, __A1 char *, __A2 ULONG *);
  240.  
  241. __REG(void,             PrepareNW) (__A0 struct NewWindow *, __D0 int, __D1 int, __D2 BOOL);
  242.  
  243. __REG(void,             GetPalette) (__D0 short, __A0 short *, __A1 short *, __A2 short *);
  244.  
  245. __REG(char **,          ReadText) (__A0 char *, __D0 int);
  246. __REG(void,             FreeText) (__A0 char **, __D0 int);
  247.  
  248. __REG(struct DitherArgs *, InitDither) (__A0 struct NewGad *, __A1 struct NewGad *, __A2 struct NewGad *);
  249. __REG(void,             FreeDither) (__A0 struct DitherArgs *);
  250. __REG(void,             DoDither) (__A0 struct Buffer *, __A1 struct DitherArgs *);
  251. __REG(void,             Help) (__A0 char *, __A1 char *);
  252.  
  253. __REG(BOOL,             AddRawWedge) (__A0 char *, __A1 int (*)(WedgeProto), __A2 ULONG);
  254. __REG(void,             RemoveWedge) (__A0 char *, __A1 char *);
  255. __REG(void,             RemoveAllWedges) (void);
  256. __REG(BOOL,             VDoRawWedge) (__A0 char *, __A1 VOID *, __A2 ULONG *);
  257. __REG(void,             QuickPix) (__A0 UBYTE **, __A1 LONG *, __A2 LONG *, __D0 LONG, __D1 LONG);
  258. __REG(void,             QuickLine) (__A0 UBYTE **, __A1 LONG *, __A2 LONG *, __A3 UBYTE *, __D0 LONG, __D1 LONG);
  259.  
  260. __REG(int,              GedWin) (__A0 struct NewWindow *, __A1 struct NewGad *, __D0 int, __A2 int (*)(), __A3 int (*)(), __A4 char **);
  261. __REG(int,              VMWriteAll) (__A0 struct VM_Handle *);
  262. __REG(void,             VMPageChanged) (__A0 struct VM_Handle *, __D0 ULONG);
  263. __REG(APTR,             VMGetPage) (__A0 struct VM_Handle *, __D0 ULONG);
  264.  
  265. __REG(long,             NumberRequest) (__A0 char *, __D0 long, __D1 long, __D2 long);
  266.  
  267. __REG(void,             BFlush) (__A0 struct BIO *);
  268. __REG(int,              BSeek) (__A0 struct BIO *, __D0 int, __D1 int);
  269.  
  270. __REG(int,              VPickFromList) (__A0 char **, __D0 int, __D1 int, __A1 ULONG *);
  271. __REG(int,              LangListRequest) (__A0 char *, __A1 long **, __D0 int, __D1 int, __D2 int, __D3 int, __A2 char **);
  272. __REG(int,              TextListRequest) (__A0 char *, __A1 char **, __D0 int, __D1 int, __D2 int);
  273. __REG(struct ListNode *, PickFromListA) (__A0 struct MinList *);
  274. __REG(struct Blend *,   CreateBlend) (__A0 struct Mask *);
  275. __REG(void,             DeleteBlend) (__A0 struct Blend *);
  276. __REG(short,            mixer) (__D0 short, __D1 short, __D2 short);
  277.  
  278. __REG(int,              GetBufLines) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 short, __D1 short);
  279. __REG(int,              PutBufLines) (__A0 struct Buffer *, __D0 short, __D1 short);
  280.  
  281. __REG(void,             NewPreOverscan) (__A0 struct NewScreen *, __D0 ULONG);
  282. __REG(int,              IsAnimation) (__A0 char *, __A1 char *);
  283. __REG(void,             LearnA) (__A0 char *, __A1 long *);
  284. __REG(BOOL,             NewGetPaletteStruct) (__A0 struct Palette *, __D0 int);
  285. __REG(BOOL,             SeparateBuffer) (__A0 struct Buffer *, __A1 struct SepInfo *, __A2 char *, __A3 char *, __A4 char *);
  286.  
  287. __REG(struct ProcessInfo *, PrepareProcess) (__A0 char *, __A1 struct Buffer *, __D0 int, __D1 int, __D2 ULONG);
  288. __REG(void,             FinishProcess) (__A0 struct ProcessInfo *);
  289. __REG(BOOL,             GetData) (__A0 struct ProcessInfo *, __D0 int, __D1 int, __D2 int);
  290. __REG(BOOL,             PutData) (__A0 struct ProcessInfo *, __D0 int, __D1 int, __D2 int);
  291.  
  292. __REG(BOOL,             EnableVMEM) (__D0 int);
  293.  
  294. __REG(int,              LockBufLine) (__A0 struct Buffer *, __D0 int);
  295. __REG(int,              UnlockBufLine) (__A0 struct Buffer *, __D0 int);
  296.  
  297. /*
  298.  * Not in scan.library, but usually part of the stub library:
  299.  */
  300.  
  301. __STD(void,             Errorf) (char *, ...);
  302. __STD(BOOL,             BoolRequest) (char *, ...);
  303. __STD(void,             InfoRequest) (char *, ...);
  304. __STD(int,              ThreeRequest) (char *, char *, char *, char *, ...);
  305. __STD(BOOL,             SetResult) (struct RexxMsg *, char *, ...);
  306. __STD(BOOL,             DoRawWedge) (char *, VOID *, ...);
  307. __STD(int,              PickFromList) (char **, int, int, ...);
  308.  
  309. __STD(void,             msprintf) (char *, ...);
  310.  
  311. __STD(int,              ChangeScanner) (GedButtonProto);
  312. __STD(int,              ChangeRender) (GedButtonProto);
  313. __STD(int,              ChangePrinter) (GedButtonProto);
  314.  
  315. __STD(int,              MatchArg) (char *, ...);
  316.  
  317. __STD(struct Buffer *,  ObtainCurrentBuffer) (void);
  318.  
  319. __STD(BOOL,             SkipMacBinary) (BPTR);
  320. __STD(BOOL,             BSkipMacBinary) (struct BIO *);
  321.  
  322. __STD(void,             Learn) (char *, ...);
  323.  
  324. __STD(BOOL,             ObtainImageFX) (void);
  325. __STD(void,             ReleaseImageFX) (void);
  326.  
  327. #define SCAN_PROTOS_H
  328. #endif
  329.